GeoBasic, itself, was written by programmers at BSW, but was shelved. Rumors of why it was not released have been passed around for years, the most popular being, ". . . BSW felt no one would buy geoBasic, due to poor sales of geoProgrammer, and Abacus's BeckerBASIC . . .".
Lucky for us, RUN Magazine managed to purchase the distribution rights for geoBasic (for North America.) Part of the deal being that RUN was to handle customer service for geoBasic. Which makes good sense; RUN is the one mass producing it, marketing it, re-working the manual, contracting programmers to write demo software for it, and distributing it.
If you haven't noticed, I refer to "geoBasic" with "BASIC" in lower case, instead of all capital letters. BASIC is actually " B . A . S . I . C . ", short for "B'eginners A'll-purpose S'ymbolic I'nstruction C'ode". While geoBasic does use a 'standard' set of BASIC commands and programming editor, its ability to create & edit sprites, bit-maps, and menus all by clicking menu selections -- makes it so much simplier than BASIC . . . making it sooo . . . *
basic.
The geoBasic Package, that RUN offers, has only nine files on the disk -- the geoBasic application, a "BASIC" Grabber, two games, a drawing program, a Roladex program with two info files, and an animation file.
GeoBasic is fully compatible with GEOS -- it will work with all Input devices, Disk Drives, REUes, and printers. BeckerBASIC (an earlier attempt to bring BASIC to GEOS) by Abacus, could work only from a 1541 set as drive A. While geoBasic was designed to operate under GEOS for the c64, it also works with GEOS128 in its 40-column mode.
The geoBasic application, functions as both editor and interperter -- the same as the Commodore's BASIC editors. GeoBasic, like BeckerBASIC, uses the Commodore's *built-in* 40-column screen instead of GEOS's hi-res screen. Even though geoBasic doesn't use its hi-res screen for programing, it still uses a menu-submenu/mouse system for accessing the various built-in editors and utilities which *are* hi-res GEOS screens. The geoBasic editor can also access Desk Accessories the same as other GEOS applications.
The geoBasic editor is able to "OPEN or CREATE" geoBasic "application data" files, or it can be auto-loaded by its data files, the same as geoWrite's data files can load the geoWrite word-processor.
The geoBasic editor can also 'compile itself' with geoBasic data files to create stand-alone application files. Both versions of a file (compiled, interperted) have their good points and bad points.
While the stand-alone (compiled) version of a program is functionally a fully self-contained GEOS program (application), and can be used by GEOS users that don't have geoBasic, -- it can't be edited, or further de-bugged, and uses more disk space than a non-compiled version.
The interperted version of a geoBasic program requires the geoBasic Editor to be loaded in order to RUN, but only one copy of the Editor is needed for a disk full of geoBasic files. The interperted version can be edited and de-bugged at any time. A interperted version is smaller than its compiled counterpart, since a compiled version requires much of the Editor's code be added to it.
The other files on the disk consist of:
Parachutes:
An arcade game that reminded me of the early BASIC 7.0 games. In Parachutes, you must shoot down planes before they drop a paratrooper. If you don't shoot the plane in time, it vanishes leaving a paratrooper floating to the ground. If you don't shoot down the paratrooper before he reaches the ground, he will immediately run to your base and blow it up. This game uses no menus, and doesn't allow access to Desk accessories, but then again why would you need to during an arcade game? makes use of graphics, sprites, bit-maps, and sound.
Yathzee:
A version of the classic board game. Uses sprites it show dice rolling across the screen. Uses menus, and can access desk accesories, also uses bit-maps.
Roladex:
A simple roladex of good quality. Uses menus, and supports desk accessories. Also has two support files on disk with it. One contains REM statements that were removed from the main file's code. The other file consists of instructions for Roladex.
The Sample application:
This is a simple drawing program offering the ability to draw boxes, lines, and erase. Uses menus, and icons, and supports desk accesories. Plenty of REM statements here.
BASIC Grabber:
This is regular GEOS application that can "grab" regular BASIC 2.0 & 7.0 files, and save them in a format that can be used by geoBasic. This allows you to write the "text" section of the geoBasic program. This text file links and controls how the various menus, icons, sprites, and other parts of the program interact.
Animate:
This file is animation of an atomic explosion's mushroom cloud growing from nothing. I have not examined it closely, but it appears to use multiple bit-maps to generate the animation.
All programs are in their non-compiled versions, and can be easily modified. In fact, with out reading the manual, I have already re-designed several of the sprites and bit-maps of the Parachute game. And for those that are wondering, all the geoBasic games except Parachutes (being arcade), and the Animation are indistinguishable from regular GEOS applications.
Although geoBasic, and programs created with geoBasic can access desk accessories, geoBasic can not create desk accessories, nor can it create any program that must operate under small memory-constrants such as Printer drivers.
Desk accessories must be self-contained and under 16k in size, and Printer drivers around 4K (but I think I've seen an 8k Printer driver) in size. Both the geoBasic Editor, and the code added to a compiled program are too great in size to fit in such limited areas of memory.
Don't let this fool you into thinking geoBasic is limited in the TYPE of files GeoBasic can AFFECT or ACCESS.!.!.! While geoBasic was designed to create appliactions, it is able to access ALL GEOS file types, allowing you to create applications that support the creation and use of VLIR files, fonts, graphics, sound, ML subroutines, etc. And I haven't seen anything stating that geoBasic can't be used to create programs that can be used to alter/develop: desk accessories or other memory-constanted programs.
Considering that geoBasic generates only Application files, it should noted that there are *other* file types that are functionally Application files in that they can be RUN from the deskTop.
Auto-Execute files are applications, which GEOS auto-loads during the boot-up process before GEOS loads the deskTop. The only real problem with Auto-Execute files is that during boot-up they are loaded before the deskTop loads the Input Driver of your choice. This problem can be solved by the Auto-Execute file "Mouse-Up", which loads the Input Driver then passes control to the next Auto-Execute. You could also add the code to the Auto-Execute file giving it the power to load in the Input Driver. After boot-up, Auto-Execute files can be OPENed the same as Application files.
After geoBasic generates an Application, you could use a disk editor to change its file type from "Application" to "Auto-Execute".
As for the actually writing of programs.
GeoBasic requires you to know some BASIC. All the sprites, bit-maps, menus, icons, and dialog, may be created through the use of pull-down menus, but they must be link together by a set of BASIC commands. The BASIC protion of the program is written on the 40-column screen, with a separate screen provided for the program when RUN. While running a program the user can return to the 40-column BASIC screen by pressing the RUN/STOP key. A de-bugger built-in de-bugger and trace option are provided.
Another nice feature is that the text, icons, menus, sprites, etc., are stored within a single file. You'll never have to worry about a 'support' file getting lost, or mixed up with another geoBasic program's files.
GeoBasic's command structure supports the use of Labels for subroutines with the ability to goto/gosub to Label. Printing to screen or printer. An abundents of commands for creating, accessing, controlling, adding to, and deleteing VLIR files.
In the meantime:
If you don't know BASIC, but have the geoBasic package, you can modify the sprites, but-maps, icons, and other parts of the geoBasic to your hearts content. The Parachutes games alone can be changed just be re-designing the sprites, and bitmaps:
1) the high-tech base - a medieval castle
2) planes - dragons
3) parachutes - eggs (to hatch when they land)
4) men (live on ground) - baby dragons
5) dead (sprite used to show a bad landing) - real splattery spashes!
As for info on how to program with geoBasic, I'll leave that to the experts.